A Language Implementation System (“LIS”) is a computer program that could be a compiler or Computer Aided Design (“CAD”) system, which receives a source program as input. The source program is written in a source language. The LIS translates the source program into an equivalent target program. The target program is written in a target language.
Many source and target languages are known. For example, source languages include Basic, Pascal, Fortran, C, and Lisp. Target languages include machine languages for computers having one or more processors.
A target machine may provide the capability of performing arithmetic operations using a variety of types. For example, some target machines provide vector arithmetic in which the vector elements are small integer types. When there is a mismatch between the types used in a source language program and the types available in operations on the target machine, a compiler can be used to discover opportunities to perform the source language math safely, using the target machine types.